Computer Graphics
|
Lecture
1 - Computer Graphics Background
|
History
1950s
Sage Air Defence
System (Semi Automatic Ground Environment)
- Built by IBM for the Air Force in the 1950s
- Used computers to track aircraft and displayed
radar blips on computer graphic consoles as interactive vector graphics
- One of the first applications of computer graphics
to track enemy aircraft.
![](sage.jpg)
1960s
Sketchpad
- IBM, Sperry-Rand, Burroughs and a few other
computer companies existed
- Computers had a few kilobytes of memory, no
operating systems to speak of and no graphical display monitors
- Peripherals were Hollerith punch cards, line
printers, and roll-paper plotters.
- Only programming languages supported were
assembler, FORTRAN, and Algol
- Function graphs and ``Snoopy'' calendars were about
the only graphics done.
- 1963 - Ivan Sutherland presented his paper Sketchpad
at the Summer Joint Computer Conference
- Sketchpad allowed interactive design on a vector
graphics display monitor with a light pen input device
- True origins of computer graphics
![](sketchpad2.jpg)
- Jack Bresenham draws lines on a raster device
- Anti-aliased lines and curve drawing is a
major topic in computer graphics.
- Steve Coons introduced parametric surfaces and
developed early computer aided geometric design concepts.
- Work of Pierre Bézier on parametric curves and
surfaces also became public.
- Author Appel at IBM developed hidden surface and
shadow algorithms that were pre-cursors to ray tracing.
- Doug Englebart invented the mouse at Xerox
PARC.
- Evans & Sutherland Corporation and General
Electric build flight simulators with real-time raster graphics
Early '70's
- State-of-the-art computer was:
- IBM 360 computer with
about 64 KB of memory
- Tektronix 4014 storage
tube or a vector display
- light pen
Tektronix Display :
- ability to be used as a terminal, linked to a
server computer
- 64 Kb RAM
- Resident BASIC Interpreter
- Resident Graphics System (in BASIC)
- Expanded cartridge with signal processing libraries
- Rendering (shading) devised by Gouraud and Phong at
the University of Utah
- Phong also introduced a reflection model that
included specular highlights
- Keyframe-based animation for 3-D graphics was
demonstrated.
- Xerox PARC developed a "paint'' program.
- Ed Catmull introduced parametric patch rendering,
the z-buffer algorithm, and texture mapping.
- Evans & Sutherland Picture System:
- high-end graphics computer
- vector display with
hardware support for clipping and perspective
- Xerox PARC introduced the Altos personal computer
- Turned Whitted developed recursive ray
tracing,which became the standard for photorealism
- The Apple I and II computers became the
first commercial successes for personal computing
- DEC VAX computer was the mainframe (mini)
computer of choice.
- Arcade games such as Pong and Pac Mac became
popular.
- Laser printers were invented at Xerox PARC.
- Xerox Star Introduced - GUI developed
- IBM PC marketed in 1981
- Apple MacIntosh started production in 1984
- Computers with a mouse, bitmapped (raster) display,
and Ethernet became the standard in academic settings
![](lisadesk.gif)
Xerox Star
Apple Lisa
- Jim Blinn introduces blobby models and
texture mapping concepts.
- Binary space partitioning (BSP) trees
introduced as a data structure
- Loren Carpenter starting exploring fractals
in computer graphics
- Postscript was developed by John Warnock and
Adobe was formed.
- Steve Cook introduced stochastic sampling to
ray tracing
- Character animation became the goal for
animators
- Radiosity introduced by Greenberg at
Cornell.
- Photoshop was marketed by Adobe.
- Video arcade games took of
- Desktop publishing begins.
- Unix with X windows was the platform of
choice
- Sun workstations, with the Motorola 680x0
chipset became popular as advanced workstation
- Video Graphics Array (VGA) card was invented
at IBM
- Silicon Graphics (SGI) workstations
supported real-time raster line drawing and later polygons became the
computer graphics standard.
- Data glove, a precursor to virtual reality,
was invented at NASA
- VLSI for special purpose graphics processors
and parallel processing became hot research areas.
- SGI workstation with at least 16 MB of
memory a must-have computer:
- 24-bit raster display
- hardware support for
Gouraud shading
- z-buffering for hidden
surface removal
- Laser printers and single frame video
recorders were standard.
- Unix, X and Silicon Graphics GL were the
operating systems, window system and application programming interface
(API)
- Shaded raster graphics introduced in motion
pictures.
- Mosaic, the first graphical Internet browser ,
written at the University of Illinois, National Center for Scientific
Applications (NCSA).
- MPEG standards for compressed video began to be promulgated.
- Dynamical systems (physically based modeling) that
allowed animation with collisions, gravity, friction, and cause and
effects were introduced.
- In 1992 OpenGL became the standard for graphics
APIs
- In 1993,the World Wide Web took off.
- Surface subdivision algorithms were
rediscovered.
- Wavelets begin to be used in computer graphics.
- Intel 486 chipset gives PCs reasonable
floating point performance
- 1994 - Silicon Graphics produces the Reality
Engine: hardware for real-time texture mapping
- Ninetendo 64 game consoleprovides Reality
Engine-like graphics for game players.
- Scanners introduced.
- PC market erupts and supercomputers
wane
- SGI collapses and startups entergraphics
field.
- Image based rendering becomes area for
research in photo-realistic graphics
- Linux and open source software become
popular.
- PC graphics cards,(e.g. 3dfx and Nvidia),
introduced.
- Pentium chipset makes PCs almost as powerful as
workstations
- Motion capture, begun with the data glove, becomes
a primary method for generating animation sequences.
- 3-D video games become very popular: DOOM (which
uses BSP trees), Quake, Mario Brothers, etc.
- Graphics effects in movies becomes pervasive:
Terminator 2, Jurassic Park, Toy Story, Titanic, Star Wars I. V
- Virtual reality and the Virtual Reality Markup
Language (VRML)
-
Rendering Methods
- Object Model
- Lighting Model
- Camera Model
Wireframe
models
Wireframe models with
hidden lines
![](immersion_files/shutbug61.jpg)
![](immersion_files/shutbug62.jpg)
Ambient
Illumination
Faceted Shading
![](immersion_files/shutbug63.jpg)
![](immersion_files/shutbug64.jpg)
Gouraud
Shading
Phong Shading
![](immersion_files/shutbug65.jpg)
![](immersion_files/shutbug66.jpg)
Phong Shading - Polygon
Meshes
Phong Shading - Bicubic Patches
![](immersion_files/shutbug67.jpg)
![](immersion_files/shutbug68.jpg)
Advanced
Illumination
Texture Mapping
![](immersion_files/shutbug69.jpg)
![](immersion_files/shutbug70.jpg)
Bump
Mapping
Reflection Mapping
![](immersion_files/shutbug71.jpg)
![](immersion_files/shutbug72.jpg)
Camera Model
![](immersion_files/camera.gif)
Focal Lengths and Angles of
View
35mm Camera
|
Focal Length(mm)
|
Angle of View (Degrees)
|
Extreme Telephoto
|
800
|
3.5
|
|
400
|
6.0
|
|
200
|
12.5
|
Moderate Telephoto
|
135
|
18.0
|
|
85
|
29.0
|
|
50
|
46.0
|
Normal
|
43
|
53.0
|
Moderate Wide Angle
|
24
|
84.0
|
Wide Angle
|
18
|
94.0
|
Unit Cube at 5 units from image plane
![](immersion_files/cube1.jpg)
Camera held fixed with different angles
of view
(Extreme Wide Angle, Wide Angle, Normal, Telephoto)
![](immersion_files/cube2.jpg)
Camera position adjusted maintaing
constant image size
(Extreme Wide Angle, Wide Angle, Normal, Telephoto)
Hidden Surface
![](immersion_files/zbuffer.gif)
Object Space
Painter's
Algorithm - Depth Sort
Image Space
z-buffer (depth buffer)
Illumination Model
Surfaces in
real world environments receive light in 3 ways:
- Directly from exisiting light sources
such as the sun or a lit candle
- Light that passes and refracts through
transparent objects such as water or a glass vase
- Light reflected, bounced, or diffused
from other exisiting surfaces in the environment
Local (Simple)
Material
Models
- ambient light
- diffuse light
- specular light
- Phong model
Simple Shading Model
- Objects under the influence of light
- Deficiencies
- point light
source
- no interaction
between objects
- ad hoc, not
based on model of light propagation
- Benefits
- fast
- acceptable
results
- hardware support
Ambient
Light
![](immersion_files/ambient1.jpg)
![](immersion_files/ambient2.jpg)
Diffuse
Reflection
- Light from the light source is sent in
everyu direction
- Object appearance independent of viewer
position
- Only depends on relative position of
light source
![](immersion_files/diffuse.jpg)
![](immersion_files/diffuse2.jpg)
Diffuse + Ambient
![](immersion_files/diffuse3.jpg)
Specular
Perfect
Reflector (Mirror)
![](immersion_files/specular.jpg)
Imperfect Reflector - Phong
Model
![](immersion_files/phong1.jpg)
![](immersion_files/phong2.jpg)
![](immersion_files/phong3.jpg)
Global
Ray Tracing
![](immersion_files/raydia.gif)
![](immersion_files/camera1a.jpg)
www.povray.org
Radiosity
![](immersion_files/lightscape1.jpg)
![](immersion_files/lightscape2a.jpg)
Radiosity
Method
- From field of thermal engineering
to account for radiative heat transfer
- Foundation - conservation of
radiative energy in a closed environment
- First applied to computer graphics
in 1984 at Cornell and Hiroshima University
- Calculates lighting effects of ideal
diffuse reflections
- Other rendering techniques use a
directionless " ambient lighting "
![](immersion_files/redfloor.jpg)
Radiosity
methods
- are three-dimensional object space
algorithms that solve for intensities at disrcete points or areas on
modeled surfaces, not for pixels on a 2D image plane.
- create solutions independent of
camera location or orientation.
- make all surfaces capable of
reflecting or emitting light energy
- Radiosity methods compute specular
reflections and refractive transparencies as a second pass using
ray-traced specular reflections and transparencies
![](immersion_fileshemicube85cornell.jpg)
![](immersion_files/twopass.jpg)
One-Pass
Two-Pass
Radiosity Procedure
1. Modeled world is broken
into a finite number of N discrete patches
![](immersion_files/patches.jpg)
2. Radiosity equation used
to relate patches
![](immersion_files/equation.jpg)
3. N simultaneous equations
solved iterartively using Gauss-Seidel method
![](immersion_files/matrix.jpg)
4. The radiosity equation
uses of the following:
Energy that leaves Surface_A and strikes Surface_B is attenuated by 2
factors:
- The physical relationship between Surface_A and
Surface_B (known as the form factor).
- The reflectivity of Surface_A (some light will
be absorbed and not reflected to Surface_B).
5. Form
factors are dimensionless quantities that describe the radiative exchange
between 2 surfaces based on the geometric relationship within their virtual
environment
![](immersion_files/formfactor.jpg)